home *** CD-ROM | disk | FTP | other *** search
/ 64'er Special 4 / 64er_Magazin_Sonderheft_04_86-04_1986_Markt__Technik_de_Disk_1_of_2_Side_A.d64 / listing 06.p (.txt) < prev    next >
Commodore BASIC  |  2022-10-26  |  2KB  |  51 lines

  1. 10 open1,8,3,"wortschatz":open15,8,15:rem wortschatz-datei oeffnen
  2. 20 inputsu$
  3. 30 goto9500
  4. 9000 rem zeiger positionieren --------------------------------------------------
  5. 9001 :
  6. 9010 hb%=sa/256:lb%=sa-hb%*256
  7. 9020 print#15,"p";chr$(3);chr$(lb%);chr$(hb%);chr$(1)
  8. 9030 input#15,a:ifa=50thenprint"satznummer zu hoch"
  9. 9040 return
  10. 9100 rem satz lesen ------------------------------------------------------------
  11. 9101 :
  12. 9110 ifa=50thenreturn
  13. 9120 input#1,a$
  14. 9130 return
  15. 9200 rem satz schreiben --------------------------------------------------------
  16. 9201 :
  17. 9210 ifa=50thenreturn
  18. 9220 print#1,a$
  19. 9230 return
  20. 9300 rem satz-teilbereich lesen ------------------------------------------------
  21. 9301 :
  22. 9310 ifa=50thenreturn
  23. 9320 input#1,a$
  24. 9330 wa=val(mid$(a$,22,1)):rem wortart
  25. 9332 wc=val(mid$(a$,23,3)):rem wortcode
  26. 9335 a$=left$(a$,21)      :rem wort
  27. 9340 ifright$(a$,1)=""thena$=left$(a$,len(a$)-1):goto9340
  28. 9345 printa$,len(a$)
  29. 9350 return
  30. 9500 rem binaere suchroutine ---------------------------------------------------
  31. 9520 rem su$=suchwort
  32. 9540 sz=197:n=int(log(sz)/log(2))+1                    :rem maximal-formel
  33. 9560 sa=(2^n)/2:rem mitte der ges.dat
  34. 9565 gosub9000:gosub9300                               :rem a$ lesen
  35. 9580 n=n-1     :rem 1.abfrage
  36. 9600 :
  37. 9620 rem su$ mit a$ vergleichen ------
  38. 9623 : iflen(su$)<3then9635
  39. 9625 : ifwa=1 and su$=left$(a$,len(su$)) thenprint"su$=verb:satz ";sa:end
  40. 9630 : ifwa=3 and su$=right$(a$,len(su$))thenprint"su$=objekt:satz ";sa:end
  41. 9635 : ifwa=2 and su$=a$                 thenprint"su$=richtung:satz ";sa:end
  42. 9637 : ifwa=1 and su$=a$                 thenprint"su$=verb:satz ";sa:end
  43. 9640 : ifsu$<a$thensa=sa-(2^(n-1)):gosub9000:gosub9300:goto9700
  44. 9660 : ifsa+(2^(n-1))>szandn>-1thenn=n-1:goto9660      :rem ''ueberlauf''
  45. 9680 : sa=sa+(2^(n-1)):gosub9000:gosub9300             :rem ''halbieren''
  46. 9700 :
  47. 9720 :n=n-1    :rem naechst. halbieren
  48. 9740 :ifn<0thenprint"su$ gibt's nicht! in 1220":end    :rem su$ nicht in datei
  49. 9760 print"sa=";sa;" n=";n                             :rem unnoetig !!
  50. 9780 :goto9600:rem naechst. such-vers.
  51.